1. Field of the Invention
The invention relates generally to networked applications and more specifically, to systems and methods of assessing compliance and federating database contents.
2. Description of Related Art
Large complex sets of requirements, sometimes known as architectures, are developed by organizations desiring to influence or guide the direction of entities (e.g., systems, programs, policies, an agency etc.) within those organizations. These architectures, here within are referred to as containers, are typically highly structured and hierarchical; defining multiple levels of parent to child relationships between requirements in order to provide context and understanding of those requirements. The information in containers may be stored in a computer aided software engineering (CASE) tool, relational database, XML document or a set of XML documents.
Often, entities (e.g., systems, programs, policies, agencies etc.) are required to demonstrate compliance to an architecture, in most cases only to a sub set of the requirements in the architecture. This however is not a simple task due to the complexity and volume of the requirements. Additionally, the tools used to create these requirements have not been intended to be used for the purpose of demonstrating compliance.
This leaves individuals responsible for the entities within the organizations with two primary options: manually perform a compliance assessment or customize tools in which the requirements were developed to capture compliance related information. Both of these options are impractical and inefficient. Manually performing a compliance assessment requires an individual to 1) physically create a new spreadsheet or database, 2) search for the appropriate requirements, 3) duplicate, by manually copying, requirements from the source requirements database into that new spreadsheet or database and 4) record the compliance information for each of those requirements. CASE tools used to build these architectures were designed to facilitate building monolithic systems or software applications not groups of systems or applications, certainly not demonstrating compliance of many entities to the architecture. As a result, these tools require radical changes to their configuration and functional enhancements in order to capture compliance information for more than one entity. To further complicate the issue it is possible and common that an entity is required to comply with more than one architectures or set of requirements (i.e., containers).
As such, there is a need for a method, system and apparatus that enables a user to easily identify appropriate requirements and indicate compliance with the identified requirements. There is also a need to show relationships between two or more requirements that are stored in different containers.